package com.vogue.supplymall.common.domain.dto;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * The type Order info.
 * 订单前后端交互用
 *
 * @aouthor: zhangliang
 * @date: Create in 2017-12-20
 */
public class OrderInfo implements Serializable {

    /**
     * 订单地址信息
     */
    private Map<String, String> address = new HashMap<>();
    /**
     * 店铺id
     * 提交订单必须
     */
    private Long shopId;
    /**
     * 店铺机构id
     */
    private Long shopOrganId;
    /**
     * 订单ID
     */
    private String oid;
    /**
     * 备注
     */
    private String memo = "";
    /**
     * 配送方式
     * 0：快递 1：物流
     */
    private Integer sendType;
    /**
     * 是否开具发票 0:不开发票 1:开发票
     */
    private Integer isInvoice;
    /**
     * 订单项目
     */
    private List<OrderItemInfo> orderItems;
    private String[] oiids;
    private String[] oipids;
    /**
     * 再次够买标记
     * 0:再次够买 1:加入购物车
     */
    private Integer againBuyFlag;
    /**
     * 订单信息
     */
    private List<Map<String, Object>> goodsData = new ArrayList<>();

    /**
     * 支付方式（5：闪惠 6：微信 7：百度钱包 8：支付宝 20：商龙云钱包）
     */
    private Integer paytypeid;

    /**
     * 支付方式 0:线下 1:吾享 2:微信 3:支付宝 4:预付货款
     * 具体值以常量 com.vogue.supplymall.common.constant.ConstantBean.EnumPaymentMode 为准
     */
    private Integer paytype;

    /**
     * 多支付模式混合支付
     */
    private List<PaymentInfo> paymentList;

    /**
     * 支付成功页面重定向地址
     */
    private String redirectUrl;
    /**
     * 集团名称
     */
    private String groupName;
    /**
     * 店铺名称
     */
    private String shopName;

    public Map<String, String> getAddress() {
        return address;
    }

    public String getGroupName() {
        return groupName;
    }

    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }

    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    public void setAddress(Map<String, String> address) {
        this.address = address;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public Long getShopOrganId() {
        return shopOrganId;
    }

    public void setShopOrganId(Long shopOrganId) {
        this.shopOrganId = shopOrganId;
    }

    public String getOid() {
        return oid;
    }

    public void setOid(String oid) {
        this.oid = oid;
    }

    public String getMemo() {
        return memo;
    }

    public void setMemo(String memo) {
        this.memo = memo;
    }

    public Integer getSendType() {
        return sendType;
    }

    public void setSendType(Integer sendType) {
        this.sendType = sendType;
    }

    public Integer getIsInvoice() {
        return isInvoice;
    }

    public void setIsInvoice(Integer isInvoice) {
        this.isInvoice = isInvoice;
    }

    public List<OrderItemInfo> getOrderItems() {
        return orderItems;
    }

    public void setOrderItems(List<OrderItemInfo> orderItems) {
        this.orderItems = orderItems;
    }

    public String[] getOiids() {
        return oiids;
    }

    public void setOiids(String[] oiids) {
        this.oiids = oiids;
    }

    public String[] getOipids() {
        return oipids;
    }

    public void setOipids(String[] oipids) {
        this.oipids = oipids;
    }

    public List<Map<String, Object>> getGoodsData() {
        return goodsData;
    }

    public void setGoodsData(List<Map<String, Object>> goodsData) {
        this.goodsData = goodsData;
    }

    public Integer getAgainBuyFlag() {
        return againBuyFlag;
    }

    public void setAgainBuyFlag(Integer againBuyFlag) {
        this.againBuyFlag = againBuyFlag;
    }

    public Integer getPaytypeid() {
        return paytypeid;
    }

    public void setPaytypeid(Integer paytypeid) {
        this.paytypeid = paytypeid;
    }

    public Integer getPaytype() {
        return paytype;
    }

    public void setPaytype(Integer paytype) {
        this.paytype = paytype;
    }

    public List<PaymentInfo> getPaymentList() {
        return paymentList;
    }

    public void setPaymentList(List<PaymentInfo> paymentList) {
        this.paymentList = paymentList;
    }

    public String getRedirectUrl() {
        return redirectUrl;
    }

    public void setRedirectUrl(String redirectUrl) {
        this.redirectUrl = redirectUrl;
    }

}
